Many programming languages such as graphical programming languages, textual programming languages and dynamically typed array-based languages, provide support for classes and object-oriented programming. Array-based languages are a mechanism used to solve many different mathematical and scientific computing problems. Object-oriented programming languages support the concept of inheritance which allows new classes to be derived from existing classes.